home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Apple WWDC 1996
/
WWDC96_1996 (CD).toast
/
Technology Materials
/
MacOS 8 Resources
/
Developer Tools
/
Mac OS 8 Interfaces & Libraries
/
Interfaces
/
CIncludes
/
NuBus.h
< prev
next >
Wrap
C/C++ Source or Header
|
1996-05-01
|
2KB
|
120 lines
/*
File: NuBus.h
Contains: NuBus I/O Interfaces
Version: Technology: xxx Put version info here xxx
Release: Universal Interfaces 3.0d3 on Copland DR1
Copyright: © 1984-1996 by Apple Computer, Inc. All rights reserved.
Bugs?: If you find a problem with this file, send the file and version
information (from above) and the problem description to:
Internet: apple.bugs@applelink.apple.com
AppleLink: APPLE.BUGS
*/
#ifndef __NUBUS__
#define __NUBUS__
#ifndef __TYPES__
#include <Types.h>
#endif
#ifndef __SLOTS__
#include <Slots.h>
#endif
#ifdef __cplusplus
extern "C" {
#endif
#if PRAGMA_IMPORT_SUPPORTED
#pragma import on
#endif
#if PRAGMA_ALIGN_SUPPORTED
#pragma options align=mac68k
#endif
#if FOR_SYSTEM8_PREEMPTIVE
/*
*
* kSpaceCode -
*
* Bitfield definitions for the "reg" and "assigned-adderesses"
* properties found in the device portion of the NameRegistry
*
*/
enum {
kSpaceCodeMask = 0x03000000,
kSpaceCodeMem64 = 0x03000000,
kSpaceCodeMem32 = 0x02000000,
kSpaceCodeIO = 0x01000000,
kSpaceCodeConfig = 0x00000000,
kDeviceCodeMask = 0x000000FF
};
typedef UInt32 EncodeInt;
struct EncodePhys {
EncodeInt hi;
EncodeInt mid;
EncodeInt lo;
};
typedef struct EncodePhys EncodePhys;
struct EncodeSize {
EncodeInt hi;
EncodeInt lo;
};
typedef struct EncodeSize EncodeSize;
/*
* PropertyReg & PropertyAssignedAddresses -
*
* The struct format definitions for the "reg" and
* "assigned-addresses" NameRegistry properties.
*
*/
struct PropertyReg {
EncodePhys phys;
EncodeSize size;
};
typedef struct PropertyReg PropertyReg;
struct MotherboardReg {
EncodeInt base;
EncodeInt length;
};
typedef struct MotherboardReg MotherboardReg;
/*
* Family service category and name declarations
* (that's it for now)
*
*/
enum {
kServiceCategoryNuBus = 'nbus'
};
#define kFamilyNameNuBus "\pNuBus"
#endif
#if PRAGMA_ALIGN_SUPPORTED
#pragma options align=reset
#endif
#if PRAGMA_IMPORT_SUPPORTED
#pragma import off
#endif
#ifdef __cplusplus
}
#endif
#endif /* __NUBUS__ */